﻿<?xml version="1.0" encoding="utf-8"?>
<guidanceItem id="" type="codeexample" title="" topic="" category="" priority="" status="" author=";" ruleType="" technology="" source="" date="6/14/2006" xmlns="urn:microsoft:guidanceexplorer:guidanceItem">
  <content>
    <![CDATA[
<H1 class=section>Test Cases</H1>
<P><STRONG>Title:</STRONG></P>
<UL>
<LI>Does the title distinguish by product or version where possible? 
<LI>Does the title distinguish it from related examples? 
<LI>If technology is in the title, is the version included? 
<LI>Are important nouns a user might scan for towards the left of the title? </LI></UL>
<P><STRONG>Applies To:</STRONG></P>
<UL>
<LI>Is it clear what technologies or products this applies to? 
<LI>Conversely, is it clear what technologies of products this does not apply to? </LI></UL>
<P><STRONG>Summary:</STRONG></P>
<UL>
<LI>Does the description crisply summarize the solution? 
<LI>Is the intent of the code clear? </LI></UL>
<P><STRONG>Objectives:</STRONG></P>
<UL>
<LI>Are the user objectives for choosing this code identified? 
<LI>Are the objectives of the code identified? 
<LI>When would a user need this code example? 
<LI>Is it clear why the solution example is preferred over the problem example? </LI></UL>
<P><STRONG>Scenarios:</STRONG></P>
<UL>
<LI>Are the example scenarios based on real solutions seen in practice? 
<LI>Do the example scenarios help highlight when to use the code or when not to? </LI></UL>
<P><STRONG>Solution Example:</STRONG></P>
<UL>
<LI>Is the code example organized as a blob within a function that can easily be tested or refactored? 
<LI>Do the comments add insights around decisions? 
<LI>Are the comments concise enough so they don't break the code flow? </LI></UL>
<P><STRONG>Problem Example:</STRONG></P>
<UL>
<LI>Are comments concise enough so that they does not break the code flow? 
<LI>Are the mistakes clear? 
<LI>Are the patterns and variations of the problems clear? </LI></UL>
<P><STRONG>Test Case:</STRONG></P>
<UL>
<LI>Is setup Information included? 
<LI>Does the example call the functional blob in the Solution example? 
<LI>Can you copy+paste the code and execute it? </LI></UL>
<P><STRONG>Expected Results:</STRONG></P>
<UL>
<LI>If you run the Test Case, do the Expected Results match? </LI></UL>
<P><STRONG>More Information:</STRONG></P>
<UL>
<LI>Is the more information essential to put here or can you get rid of it? </LI></UL>
<P><STRONG>See Also:</STRONG></P>
<UL>
<LI>The links starts with the pattern "For more information on X, see ..."? 
<LI>The links are directly relevant versus simply nice to have? </LI></UL>
<P><STRONG>Related Items:</STRONG></P>
<UL>
<LI>list of related guidance items? </LI></UL>
<H1>Additional Tests to Consider When Writing a Test Case</H1>
<P><STRONG>Checkpoint:</STRONG></P>
<UL>
<LI>Does the title clearly state the action to take? 
<LI>Does the title start with an action word (eg. Do something, Avoid something)? 
<LI>If the item is a MUST, meaning it is prevelant and high impact, is Priority = p1? 
<LI>If the item is a SHOULD, meaning it has less impact or is only applicable in narrower circumstances, is Priority = p2? 
<LI>If the item is a COULD, meaning it is nice to know about but isn't highly prevelant or impactful, is Priority = p3? 
<LI>If this item will have cascading impact on application design, is Type = Design? 
<LI>If this item should be followed just before deployment, is concerned with configuration details or runtime behavior, is Type = Deployment? 
<LI>If this item is still in progress or not fully reviewed, is Status = Beta? </LI></UL>]]>
  </content>
</guidanceItem>